function MyVerticalScrollbar(scrollbar) {
	/* Objects */
	this.scrollarea = null;
	this.scrollbar = scrollbar;
	
	/* public properties */
	// These are read-write. Set them as needed.
	this.minThumbSize = 28;
	this.padding = -1;
	
	// These are read-only. Use the setter functions to set them.
	this.autohide = true;
	this.hidden = true;
	this.size = 19; // width
	//this.trackStartPath = "file:///System/Library/WidgetResources/AppleClasses/Images/scroll_track_vtop.png";
	this.trackStartLength = 18; // height
	//this.trackMiddlePath = "file:///System/Library/WidgetResources/AppleClasses/Images/scroll_track_vmid.png";
	//this.trackEndPath = "file:///System/Library/WidgetResources/AppleClasses/Images/scroll_track_vbottom.png";
	this.trackEndLength = 18; // height
	this.thumbStartPath = "images_n2lc/scroll_thumb_vtop.png";
	this.thumbStartLength = 9; // height
	this.thumbMiddlePath = "images_n2lc/scroll_thumb_vmid.png";
	this.thumbEndPath = "images_n2lc/scroll_thumb_vbottom.png";
	this.thumbEndLength = 9; // height

	/* Internal objects */
	this._track = null;
	this._thumb = null;
	
	/* Dimensions */
	// these only need to be set during refresh()
	this._trackOffset = 0;
	this._trackLength = 0;
	this._numScrollablePixels = 0;
	this._thumbLength = 0;
	this._repeatType = "repeat-y";
	
	// these change as the content is scrolled
	this._thumbStart = this.padding;
	
	// For JavaScript event handlers
	var _self = this;
	
	this._captureEventHandler = function(event) { _self._captureEvent(event); };
	this._mousedownThumbHandler = function(event) { _self._mousedownThumb(event); };
	this._mousemoveThumbHandler = function(event) { _self._mousemoveThumb(event); };
	this._mouseupThumbHandler = function(event) { _self._mouseupThumb(event); };
	this._mousedownTrackHandler = function(event) { _self._mousedownTrack(event); };
	this._mousemoveTrackHandler = function(event) { _self._mousemoveTrack(event); };
	this._mouseoverTrackHandler = function(event) { _self._mouseoverTrack(event); };
	this._mouseoutTrackHandler = function(event) { _self._mouseoutTrack(event); };
	this._mouseupTrackHandler = function(event) { _self._mouseupTrack(event); };
	
	this._init();
}

for (var prop in AppleVerticalScrollbar.prototype) {
    MyVerticalScrollbar.prototype[prop] = AppleVerticalScrollbar.prototype[prop];
}
_AppleVerticalScrollbar = AppleVerticalScrollbar;
AppleVerticalScrollbar = MyVerticalScrollbar;